package com.intelligent.service;

import com.intelligent.pojo.Process;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.Map;

/**
* @author lenovo
* @description 针对表【process(工序信息表)】的数据库操作Service
* @createDate 2025-08-29 10:43:54
*/
public interface ProcessService extends IService<Process> {

    /**
     * 分页查询工序信息（包含单位和用户信息）
     * @param page 分页参数
     * @param processCode 工序编号（可选）
     * @param processName 工序名称（可选）
     * @param processType 工序类型（可选）
     * @param status 状态（可选）
     * @return 分页结果
     */
    IPage<Map<String, Object>> getProcessPage(Page<Map<String, Object>> page,
                                             String processCode,
                                             String processName,
                                             Integer processType,
                                             Integer status);

    /**
     * 添加工序信息
     * @param process 工序信息
     * @return 是否添加成功
     */
    boolean addProcess(Process process);

    /**
     * 修改工序信息
     * @param process 工序信息
     * @return 是否修改成功
     */
    boolean updateProcess(Process process);

    /**
     * 删除工序信息
     * @param processId 工序ID
     * @return 是否删除成功
     */
    boolean deleteProcess(Long processId);

    /**
     * 根据ID查询工序信息（包含单位和用户信息）
     * @param processId 工序ID
     * @return 工序详细信息
     */
    Map<String, Object> getProcessById(Long processId);

}
